import fs from 'node:fs'
import path from 'node:path'
import cors from 'cors'
import express from 'express'
import { marked } from 'marked'

const app = express()
const port = process.env.PORT || 3000

// 启用 JSON 解析和 CORS
app.use(express.json({ limit: `5mb` }))
app.use(cors())

// 加载主题（简化版，仅包含关键主题）
const themes = {
  default: {/* 主题配置 */},
  dark: {/* 主题配置 */},
  comedy: {/* 主题配置 */},
}

// 简化版的 renderMarkdown 函数
function renderMarkdown(content, options = {}) {
  const html = marked.parse(content)
  return `
    <!DOCTYPE html>
    <html>
    <head>
      <style>
        body { 
          font-family: ${options.fontFamily || `Arial`};
          font-size: ${options.fontSize || `16px`};
          color: #333;
          line-height: 1.6;
        }
        /* 添加更多基本样式 */
      </style>
    </head>
    <body>
      ${html}
    </body>
    </html>
  `
}

// 创建 Markdown 渲染 API 端点
app.post(`/api/render`, (req, res) => {
  try {
    const { content, options } = req.body

    if (!content || typeof content !== `string`) {
      return res.status(400).json({ error: `必须提供 Markdown 内容` })
    }

    // 调用渲染函数
    const html = renderMarkdown(content, options)

    // 返回渲染结果
    res.json({ html })
  }
  catch (error) {
    console.error(`渲染错误:`, error)
    res.status(500).json({ error: `渲染处理失败`, message: error.message })
  }
})

// 启动服务器
app.listen(port, () => {
  console.log(`简易 Markdown 渲染 API 运行在端口 ${port}`)
})
